package com.jack.payment.service.strategy;


import com.jack.payment.entity.business.ApplyRefundBo;
import com.jack.payment.entity.business.RequestPayBo;
import com.jack.payment.entity.common.BusinessException;
import com.jack.payment.entity.result.ResultPayVo;

public interface PaymentStrategy {

    /**
     * 修改系统支付方式的配置信息
     * @param id 各支付方式的环境编号
     * @throws BusinessException
     */
    void updatePaymentMethodConfig(Integer id) throws BusinessException;

    /**
     * 创建支付方式信息
     * @return
     */
    ResultPayVo createPaymentInfo(RequestPayBo requestPayBo) throws Exception;

    /**
     * 执行退款业务
     * @param refundOrderBo 所需退款的数据
     * @return
     */
    // ApplyRefundBo.RefundOrderBo executeRefundBusiness(ApplyRefundBo.RefundOrderBo refundOrderBo);
}
